(function() {
	var u = navigator.userAgent;
	var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
	if (isIOS) {
		if (screen.height == 812 && screen.width == 375) {
			//是iphoneX
			$('#nullk').show();
		};
	};
	var state = UrlParm.parm('params'); //传递的参数
	var pageScene = 0; //场景0用户发布1用户编辑2分享编辑
	var articleid = null; //文案标识
	var userInfo = null; //用户信息
	var postFlg = false; //请求状态
	var postData = null; //文案发布提交参数
	var d_cover = ''; //封面图片
	var resizeHeight = document.documentElement.clientHeight || document.body.clientHeight; //窗口高度
	var fbFlg = false;//是否发布成功
	
	//文案编辑模块初始化
	editInit({
		el: '#article-body'
	});

	if (state) {
		var data = JSON.parse(state);
		pageScene = data.type;
		articleid = data.articleid || null;
		if (pageScene == 1 || pageScene == 2) {
			// 用户编辑场景
			if (pageScene == 1) {
				document.getElementsByTagName("title")[0].innerText = '编辑文案';
				$('#wa_fb').html('保存修改');
			};
		} else if (pageScene == 0) {
			//发布场景
			//查询名片信息回填
			var cardds = setInterval(function() {
				if (userInfo) {
					clearInterval(cardds);
					getCardInfo(userInfo.userId, function(res) {
						if (res.result.success && res.data) {
							if (res.data.job) {
								$('#data_job').val(res.data.job); //职位
							};
							if (res.data.cpyNick) {
								$('#data_cpyNick').val(res.data.cpyNick); //公司昵称
							};
							if (res.data.phone) {
								$('#data_phone').val(res.data.phone); //手机号
							};
							if (res.data.qq) {
								$('#data_qq').val(res.data.qq); //qq
							};
							if (res.data.email) {
								$('#data_email').val(res.data.email); //邮箱
							};
							if (res.data.address) {
								$('#data_address').val(res.data.address); //地址
							};
							if (res.data.url) {
								$('#data_url').val(res.data.url); //网址
							};
							if (res.data.cpySummary) {
								$('#data_cpySummary').val(res.data.cpySummary); //公司简介
							};
							if (res.data.weChat) {
								$('#data_weChat').val(res.data.weChat); //微信号
							};
						};
					}, function(err) {});
				};
			}, 100);
		};
	};

	//封面图片上传对象
	var imageU = WebUploader.create({
		// 是否开起分片上传。
		chunked: false,
		//选择完文件或是否自动上传
		auto: true,
		// 上传并发数。允许同时最大上传进程数[默认值：3]   即上传文件数
		threads: 1,
		//文件接收服务端接口
		server: ym + jkMap.headimg, //后台接收地址
		formData: {
			uploadType: 2
		},
		// 选择文件的按钮
		pick: {
			id: '#upimgbtns',
			multiple: false
		},
		//上传请求的方法
		method: "POST",
		// 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
		resize: false,
		//指定接受哪些类型的文件
		accept: {
			title: 'Images',
			extensions: 'gif,jpg,jpeg,bmp,png',
			mimeTypes: 'image/*'
		}
	});

	//封面上传成功监听
	imageU.on('uploadSuccess', function(_file, _call) {
		//显示上传图片
		console.log('上传图片成功', _file, _call);
		if (_call.status == 1) {
			$('#fmimgs').attr('src', _call.url);
			d_cover = _call.url;
		} else {
			layer.msg(_call.result.message, {
				time: 2000
			});
		};
	});

	//封面上传失败监听
	imageU.on('uploadError', function() {
		//提示
		layer.msg('上传失败', {
			time: 2000
		});
	});

	//js-api config注入
	jsconfig(window.location.href, function(res) {
		if (res.result.success && res.data) {
			wx.config({
				debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
				appId: res.data.appId, // 必填，公众号的唯一标识
				timestamp: res.data.timestamp, // 必填，生成签名的时间戳
				nonceStr: res.data.nonceStr, // 必填，生成签名的随机串
				signature: res.data.signature, // 必填，签名
				jsApiList: [
					'updateAppMessageShareData',
					'updateTimelineShareData',
					'hideAllNonBaseMenuItem',
					'showMenuItems',
				] // 必填，需要使用的JS接口列表
			});
			wx.ready(function() {
				// 隐藏所有非基础按钮接口
				wx.hideAllNonBaseMenuItem();
			});

		};
	}, function(err) {});


	/**
	 * 关注状态判断
	 */
	function getFocus(){
		if(userInfo){
			if(userInfo.collectSubscribe != 1){//未采集关注信息
				//采集关注信息
				focusCJ(userInfo.userId,function(res){
					if(res.result.success){
						userInfo.collectSubscribe = 1;
						userInfo.subscribe = res.data.subscribe ? 1 : 0;
						//设置用户缓存
						set_cache('userInfo', userInfo);
					};
				},function(){});
			};
		};
	};
	
	function init() {

		// //判断是否已授权
		// userInfo = get_cache('userInfo') || null;
		// if (userInfo && userInfo != '' && userInfo != 'undefined') {
		// 	sceneCL();
		// 	//刷新用户信息
		// 	sxUserInfo(userInfo.userId,function(res){
		// 		if(res.result.success && res.data){
		// 			userInfo = res.data;
		// 			//设置用户缓存
		// 			set_cache('userInfo', res.data);
		// 			getFocus();
		// 		};
		// 	},null);
		// } else {
		// 	// 未授权，获取用户信息
		// 	var code = UrlParm.parm('code');
		// 	if (code) {
		// 		//授权获取用户信息
		// 		postF(jkMap.authorize + '?code=' + code, null, 'get', function(res) {
		// 			//成功之后的处理
		// 			if (res.result.success) {
		// 				userInfo = res.data;
		// 				//设置用户缓存
		// 				set_cache('userInfo', res.data);
		// 				sceneCL();
		// 				getFocus();
		// 			} else {
		// 				//提示层
		// 				layer.msg(res.result.message, {
		// 					time: 2000
		// 				});
		// 			};
		// 		});
		// 	} else {
		// 		var wxlognnum = get_cache('wxlognnum'); //登录请求次数
		// 		if (!wxlognnum || wxlognnum <= 10) {
		// 			var a = setTimeout(function() {
		// 				clearTimeout(a);
		// 				set_cache('wxlognnum', wxlognnum ? wxlognnum++ : 1);
		// 				//跳转授权
		// 				wxlogn(ymym + 'article_edit.html', state);
		// 			}, 1000);
		// 		};
		// 	};
		// };

	};

	/**
	 * 查看文案详情
	 * @param {Object} articleid 文案id
	 */
	function getDetail() {
		var num = 50;
		var a = setInterval(function() {
			if (articleid) {
				clearInterval(a);
				getArticleDetail(articleid, function(res) {
					if (res.result.success && res.data) {
						var info = res.data;
						//回填
						if (info.article.title) {
							$('#data_title').val(info.article.title); //文章标题
						};
						if (info.article.description) {
							$('#data_description').val(info.article.description); //分享描述
						};
						if (info.article.cover) {
							$('#fmimgs').attr('src', info.article.cover); //分享封面
							d_cover = info.article.cover;
						};

						if (info.article.content) {
							var list = JSON.parse(info.article.content);
							if (list.length > 0) {
								setContent(list);
							};
						};

						if(info.callCard){							
							if (info.callCard.cpyNick) {
								$('#data_cpyNick').val(info.callCard.cpyNick); //公司昵称
								$('#data_cpyNick1').html(info.callCard.cpyNick); //公司昵称
								$('.user_cen').addClass('isgs');
							};
							if (info.callCard.job) {
								$('#data_job').val(info.callCard.job); //职位
							};
							if (info.callCard.phone) {
								$('#data_phone').val(info.callCard.phone); //手机号
							};
							if (info.callCard.qq) {
								$('#data_qq').val(info.callCard.qq); //qq
							};
							if (info.callCard.email) {
								$('#data_email').val(info.callCard.email); //邮箱
							};
							if (info.callCard.address) {
								$('#data_address').val(info.callCard.address); //地址
							};
							if (info.callCard.url) {
								$('#data_url').val(info.callCard.url); //网址
							};
							if (info.callCard.cpySummary) {
								$('#data_cpySummary').val(info.callCard.cpySummary); //公司简介
							};
							if (info.callCard.weChat) {
								$('#data_weChat').val(info.callCard.weChat); //微信号
							};
						}
					};
				}, function() {});
			} else {
				if (num <= 0) {
					clearInterval(a);
				} else {
					num--;
				};
			};
		}, 100);
	};

	/*
		场景处理
	*/
	function sceneCL() {
		//判断进入场景0用户发布1用户编辑2分享编辑
		//用户信息回显
		if (userInfo) {
			$('.u_headimg').attr("src", userInfo.headimg);
			$(".u_nickname").html(userInfo.nickname);
		};
		if (pageScene == 1 || pageScene == 2) {
			//查询文案详情回显
			getDetail();
		};
	};

	init();

	//发布文案点击
	$('#wa_fb').click(function() {
		if(userInfo){
			if(userInfo.collectSubscribe == 1){//已采集
				if(userInfo.subscribe == 1){
					//已关注
					if (!postFlg && !fbFlg) {
						postData = null;
						postFlg = true;
						var d_title = $('#data_title').val() || ''; //文章标题
						var d_description = $('#data_description').val() || ''; //分享描述
					
						var d_content = JSON.stringify(getContent()) || ''; //文章内容
					
						var d_cpyNick = $('#data_cpyNick').val() || ''; //公司昵称
						var d_job = $('#data_job').val() || ''; //职位
						var d_phone = $('#data_phone').val() || ''; //手机号
						var d_qq = $('#data_qq').val() || ''; //qq
						var d_email = $('#data_email').val() || ''; //邮箱
						var d_address = $('#data_address').val() || ''; //地址
						var d_url = $('#data_url').val() || ''; //网址
						var d_cpySummary = $('#data_cpySummary').val() || ''; //公司简介
						var d_weChat = $('#data_weChat').val() || ''; //微信号
						if (d_title != '' && d_cover != '' && d_description != '' && d_content != '' && d_phone != '' && d_weChat !=
							'' && d_title != 'undefined' && d_description != 'undefined' && d_content !=
							'undefined' && d_phone != 'undefined' && d_weChat != 'undefined' && d_description.length > 0 && d_title.length >
							0 && d_content.length >
							0 &&
							d_phone.length > 0 && d_weChat.length > 0) {
							var data = {
								userAccountId: userInfo.id,
								article: {
									title: d_title,
									content: d_content,
									description: d_description,
									cover: d_cover
								},
								callCard: {
									headImg: userInfo.headimg, //'头像',
									nickname: userInfo.nickname, //'用户昵称',
									cpyNick: d_cpyNick,
									job: d_job,
									phone: d_phone,
									qq: d_qq,
									email: d_email,
									address: d_address,
									url: d_url,
									cpySummary: d_cpySummary,
									weChat: d_weChat
								}
							};
							var url = jkMap.articleadd;
							if (pageScene == 1 || pageScene == 2) { //编辑场景
								data.article.articleId = articleid;
								url = jkMap.articleedit;
							};
					
							postData = data;
							postF(url, data, 'post', function(res) {
								if (res.result.success) {
									fbFlg = true;
									if (!articleid) {
										postData.article.articleId = res.data.articleId;
										articleid = res.data.articleId;
									};
									if (userInfo && postData && articleid) {
					
										var data = {
											articleid: articleid,
											shareid: userInfo.userId,
											type: 1
										};
					
										//批量显示功能按钮接口
										wx.showMenuItems({
											menuList: [
												'menuItem:share:appMessage',
												'menuItem:share:timeline',
											] // 要显示的菜单项，所有menu项见附录3
										});
					
										// 分享给朋友
										wx.updateAppMessageShareData({
											title: postData.article.title, // 分享标题
											desc: postData.article.description, // 分享描述
											link: ymym + "article.html?params=" + encodeURIComponent(JSON.stringify(data)),
											imgUrl: postData.article.cover, // 分享图标
											success: function() {
												// 设置成功
												console.log('分享给朋友设置成功')
											}
										});
					
										//分享到朋友圈
										wx.updateTimelineShareData({
											title: postData.article.title, // 分享标题
											link: ymym + "article.html?params=" + encodeURIComponent(JSON.stringify(data)),
											imgUrl: postData.article.cover, // 分享图标
											success: function() {
												// 设置成功
												console.log('分享到朋友圈设置成功')
											}
										});
									};
									//删除被替换或假删的图片
									var list = getOldImgList();
									if (list.length > 0) {
										postF2(jkMap.uploadfile, {
											filePaths: list.join(",")
										}, 'post', 'json', 'application/x-www-form-urlencoded', function(res) {
											if (res.result.success) {
												clearOldImgList();
											}
											console.log('删除图片---' + res.result.message);
										}, function() {});
									};
					
									layer.msg(pageScene == 1 ? '修改成功' : '发布成功', {
										time: 1500
									}, function() {
										var outt = setTimeout(function() {
											//跳转详情界面
											var datab = {
												articleid: articleid,
												shareid: userInfo.userId,
												type: 0,
												isbj: true
											};
											window.location.href = ymym + "article.html?params=" + encodeURIComponent(JSON.stringify(datab));
										}, 1500);
									});
					
								} else {
									layer.msg(res.result.message, {
										time: 2000
									});
								};
								postFlg = false;
							}, function(err) {
								postFlg = false;
							});
						} else {
							var msg = '网络繁忙';
							if (d_title == '' || d_title.length == 0 || d_title == 'undefined') {
								msg = '文章标题不能为空';
							} else if (d_cover == '') {
								msg = '请上传分享封面';
							} else if (d_description == '' || d_description.length == 0 || d_description == 'undefined') {
								msg = '分享描述不能为空';
							} else if (d_content == '' || d_content.length == 0 || d_content == 'undefined') {
								msg = '文章内容不能为空';
							} else if (d_phone == '' || d_phone.length == 0 || d_phone == 'undefined') {
								msg = '手机号不能为空';
							} else if (d_weChat == '' || d_weChat.length == 0 || d_weChat == 'undefined') {
								msg = '微信号不能为空';
							};
							layer.msg(msg, {
								time: 2000
							});
							postFlg = false;
						};
					} else {
						if(postFlg || fbFlg){
							layer.msg('正在操作中，请勿重复点击', {
								time: 2000
							});
						}else{				
							layer.msg('网络繁忙', {
								time: 2000
							});
						};
					};
				}else{
					//未关注
					var bw = $('body').width();
					layer.msg('关注公众号，发布文章', {
						skin: 'gztc-class',
						area: Number(bw * 0.7) + 'px',
						time: 0 ,//不自动关闭							
						btn: ['关注', '取消'],
						yes: function(index) {
							layer.close(index);
							//弹出关注二维码
							focusDivTc();
						}
					});
				};
			}else{
				//未采集
				// layer.msg('网络繁忙，请刷新页面重试',{time:2000});
				//采集关注信息
				focusCJ(userInfo.userId, function(res) {
					if (res.result.success) {
						userInfo.subscribe = res.data.subscribe ? 1 : 0;
						userInfo.collectSubscribe = 1;
						//设置用户缓存
						set_cache('userInfo', userInfo);
						$('#wa_fb').click();
					};
				}, function() {});
			};
		}else{
			layer.msg('未登录,请刷新页面重新授权',{time:2000})
		};
	});

	//我的发布
	$('#tolist').click(function() {
		window.location.href = ymym + "article_list.html";
	});

	//分享描述多行文本框监听
	$('#data_description,#data_cpySummary').bind("input propertychange", function(e) {
		var param = $(this).val();
		var regRule =
			/[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi;
		$(this).val(param.replace(regRule, ""));
	});

	//监听窗口高度变化
	if (isIosOrAn() == 1) {
		// ios
		document.body.addEventListener('focusin', () => {
			// 软键盘弹出的事件处理
			$('#wa_fb').hide();
		});
		document.body.addEventListener('focusout', () => {
			// 软键盘收起的事件处理
			$('#wa_fb').show();
		});
	} else if (isIosOrAn() == 2) {
		// android
		window.onresize = function() {
			// 键盘弹起与隐藏都会引起窗口的高度发生变化
			var h = document.documentElement.clientHeight || document.body.clientHeight;
			if (resizeHeight > h) {
				$('#wa_fb').hide();
			} else {
				$('#wa_fb').show();
			};
		};
	};

})()